Step-Indexed Normalization for a Language with General Recursion

نویسندگان

  • Chris Casinghino
  • Vilhelm Sjöberg
  • Stephanie Weirich
چکیده

The TRELLYS project has produced several designs for practical dependently typed languages. These languages are broken into two fragments—a logical fragment where every term normalizes and which is consistent when interpreted as a logic, and a programmatic fragment with general recursion and other convenient but unsound features. In this paper, we present a small example language in this style. Our design allows the programmer to explicitly mention and pass information between the two fragments. We show that this feature substantially complicates the metatheory and present a new technique, combining the traditional Girard–Tait method with step-indexed logical relations, which we use to show normalization for the logical fragment. Disciplines Computer Sciences Comments Chris Casinghino, Vilhelm Sjöberg, and Stephanie Weirich. Step-Indexed Normalization for a Language with General Recursion. In Fourth workshop on Mathematically Structured Functional Programming (MSFP '12), 2012. This conference paper is available at ScholarlyCommons: http://repository.upenn.edu/cis_papers/592 DRAFT December 16, 2011 Step-Indexed Normalization for a Language with General Recursion Chris Casinghino Vilhelm Sjöberg Stephanie Weirich School of Engineering and Applied Science University of Pennsylvania [email protected] [email protected] [email protected] The TRELLYS project has produced several designs for practical dependently typed languages. These languages are broken into two fragments—a logical fragment where every term normalizes and which is consistent when interpreted as a logic, and a programmatic fragment with general recursion and other convenient but unsound features. In this paper, we present a small example language in this style. Our design allows the programmer to explicitly mention and pass information between the two fragments. We show that this feature substantially complicates the metatheory and present a new technique, combining the traditional Girard–Tait method with step-indexed logical relations, which we use to show normalization for the logical fragment.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Step-indexed models of call-by-name: a tutorial example

In this tutorial paper we show how to construct a step-indexed logical relation for a call-by-name programming language with recursive types and show that it is complete with respect to contextual equivalence. We then show how the same constructions can be used to define a step-indexed model, in the standard categorical sense, of the language. We hope that this will make step-indexed techniques...

متن کامل

A Step-indexed Semantic Model of Types for the Call-by-Name Lambda Calculus

Step-indexed semantic models of types were proposed as an alternative to purely syntactic safety proofs using subject-reduction. Building upon the work by Appel and others, we introduce a generalized step-indexed model for the call-by-name lambda calculus. We also show how to prove type safety of general recursion in our call-by-name model.

متن کامل

The Clocks Are Ticking: No More Delays! Reduction Semantics for Type Theory with Guarded Recursion

Guarded recursion in the sense of Nakano allows general recursive types and terms to be added to type theory without breaking consistency. Recent work has demonstrated applications of guarded recursion such as programming with codata, reasoning about coinductive types, as well as constructing and reasoning about denotational models of general recursive types. Guarded recursion can also be used ...

متن کامل

Step-Indexed Logical Relations for Probability

It is well-known that constructing models of higher-order probabilistic programming languages is challenging. We show how to construct step-indexed logical relations for a probabilistic extension of a higher-order programming language with impredicative polymorphism and recursive types. We show that the resulting logical relation is sound and complete with respect to the contextual preorder and...

متن کامل

Well-founded recursion with copatterns and sized types

In this paper, we study strong normalization of a core language based on System Fω which supports programming with finite and infinite structures. Finite data such as finite lists and trees is defined via constructors and manipulated via pattern matching, while infinite data such as streams and infinite trees is defined by observations and synthesized via copattern matching. Taking a type-based...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011